#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template <typename... Args>
void print(const Args&... arg) {
((cout << arg), ...);
}
void solve() {
int n;
cin >> n;
vector<int> a(n + 1);
int sum = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum += a[i];
}
int ok = 0;
for (int i = 2; i <= sum/i; i++) {
if (sum % i == 0) ok = 1;
}
if (ok) {
print(n, '\n');
for (int i = 1; i <= n; i++) {
print(i, " \n"[i == n]);
}
}else {
print(n - 1, '\n');
for (int i = 1; i <= n; i++) {
if (ok || a[i] % 2 == 0) print(i, ' ');
else if (a[i] % 2) ok = 1;
}
print("\n");
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
solve();
}
return (0*0);
}
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |